﻿using System;
using System.Web.UI.WebControls;

namespace MyCommon.WebControls
{
    /// <summary>
    /// 显示记录信息的分页字段
    /// </summary>
    public class RecordsInfoPagerField : System.Web.UI.WebControls.DataPagerField
    {
        /// <summary>
        /// 在派生类中重写时，为数据页导航字段对象创建用户界面 (UI) 控件并将它们添加到指定的容器。
        /// </summary>
        /// <param name="container">用来存储控件的容器。</param>
        /// <param name="startRowIndex">页面中第一条记录的索引。</param>
        /// <param name="maximumRows">单个页面上的最大项数。</param>
        /// <param name="totalRowCount">总项数。</param>
        /// <param name="fieldIndex">数据页导航字段在 System.Web.UI.WebControls.DataPager.Fields 集合中的索引。</param>
        public override void CreateDataPagers(System.Web.UI.WebControls.DataPagerFieldItem container, int startRowIndex, int maximumRows, int totalRowCount, int fieldIndex)
        {
            container.Controls.Add(new Label() { Text = String.Format("每页 {0} 条&nbsp共 {1} 条&nbsp当前第 {2} 页&nbsp共 {3} 页", maximumRows, totalRowCount, startRowIndex / maximumRows + 1, (totalRowCount - 1) / maximumRows + 1) });
        }

        /// <summary>
        /// 在派生类中重写时，创建从 System.Web.UI.WebControls.DataPagerField 派生的空对象。
        /// </summary>
        /// <returns>从 System.Web.UI.WebControls.DataPagerField 派生的空对象。</returns>
        protected override System.Web.UI.WebControls.DataPagerField CreateField()
        {
            return new RecordsInfoPagerField();
        }

        /// <summary>
        /// 在派生类中重写时，处理在数据页导航字段对象中发生的事件。
        /// </summary>
        /// <param name="e">事件数据。</param>
        public override void HandleEvent(System.Web.UI.WebControls.CommandEventArgs e)
        {
            throw new NotImplementedException();
        }
    }
}
